package top.infopub.mgr.cap.service;


import com.github.pagehelper.Page;
import top.infopub.generic.GenericService;
import top.infopub.mgr.cap.domain.LookInfoDomain;
import top.infopub.mgr.cap.dto.LookInfoDto;
import top.infopub.mgr.cap.jsonvo.CapLookInfoJsonVo;
import top.infopub.mgr.cap.vo.LookInfoBeginVo;
import top.infopub.mgr.cap.vo.LookInfoVo;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.model.cap.LookBankSub;
import top.infopub.model.cap.LookInfo;
import top.infopub.model.cap.LookInfoAtt;
import top.infopub.model.cap.LookInfoBank;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.security.vo.AuthorizationVO;

import java.util.List;


public interface LookInfoService extends GenericService<LookInfo, String> {

    /**
     * 根据条件查询融资尽调记录
     * @param LookInfoVo
     * @return
     * @see
     */
    Page<LookInfoDomain> selectByDomainWhere(Page<LookInfoDomain> page, LookInfoBeginVo lookInfoBeginVo);

    /**
     * 根据条件查询融资尽调记录-我审批的
     * @param LookInfoVo
     * @return
     * @see
     */
    Page<LookInfoDomain> selectMyCheckByDomainWhere(Page<LookInfoDomain> page,
                                                    LookInfoVo lookInfoVo);

    /**
     * 添加-融资尽调
     */
    void saveLookInfo(LookInfo lookInfo, List<LookBankSub> lookBankSubs,
                      List<LookInfoAtt> lookInfoAtts, List<LookInfoBank> lookInfoBanks);

    /**
     * 根据融资尽调id查询详情
     * @param id 主键id
     * @return
     * @see
     */
    LookInfo selectById(String id);

    LookInfoDto queryDetailById(String id);

    RspVo saveAll(CapLookInfoJsonVo vo, AuthorizationVO userDtl, List<ProjectAttachment> attachmentList, Integer submitType, String bodyStr);

    LookInfo selectBySguid(String id);
}
